package org.dromara.yuanshidian.domain.vo;

import java.math.BigDecimal;
import java.util.Date;

import cn.hutool.core.date.DateTime;
import com.alibaba.excel.annotation.format.DateTimeFormat;
import org.dromara.yuanshidian.domain.Ab04;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;



/**
 * 原人员账户明细(缴费明细)视图对象 ab04
 *
 * @author TzhongTop
 * @date 2025-01-24
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = Ab04.class)
public class Ab04Vo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    @ExcelProperty(value = "主键ID")
    private Long id;

    /**
     * 统筹区编码
     */
    @ExcelProperty(value = "统筹区编码")
    private String aaa027;

    /**
     * 单位编码
     */
    @ExcelProperty(value = "单位编码")
    private String dw01;

    /**
     * 单位名称
     */
    @ExcelProperty(value = "单位名称")
    private String dw02;

    /**
     * 个人帐号
     */
    @ExcelProperty(value = "个人帐号")
    private String gr03;

    /**
     * 姓名
     */
    @ExcelProperty(value = "姓名")
    private String gr04;

    /**
     * 身份证号码
     */
    @ExcelProperty(value = "身份证号码")
    private String gr02;

    /**
     * 状态，1=在职,2=转入
     */
    @ExcelProperty(value = "状态",converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "1=在职,1=转入")
    private String grmx01;

    /**
     * 缴费月度
     */
    @ExcelProperty(value = "缴费月度")
    private String grmx02;

    /**
     * 缴费时间
     */
    @ExcelProperty(value = "缴费时间")
    @DateTimeFormat("yyyy-MM-dd HH:mm:ss")
    private Date grmx03;

    /**
     * 上年工资
     */
    @ExcelProperty(value = "上年工资")
    private BigDecimal  gr18;

    /**
     * 个人缴费基数
     */
    @ExcelProperty(value = "个人缴费基数")
    private Long gr19;

    /**
     * 个人缴费额
     */
    @ExcelProperty(value = "个人缴费额")
    private BigDecimal  gr20;

    /**
     * 单位划转额
     */
    @ExcelProperty(value = "单位划转额")
    private BigDecimal  grmx04;

    /**
     * 单位代缴额
     */
    @ExcelProperty(value = "单位代缴额")
    private BigDecimal grmx05;

    /**
     *
     */
    @ExcelProperty(value = "")
    private String grmx06;

    /**
     * 单位平均工资
     */
    @ExcelProperty(value = "单位平均工资")
    private Long dw14;

    /**
     * 单位缴费比例
     */
    @ExcelProperty(value = "单位缴费比例")
    private Long cs03;

    /**
     * 单位基数算法
     */
    @ExcelProperty(value = "单位基数算法")
    private String dw68;

    /**
     * 操作员代码
     */
    @ExcelProperty(value = "操作员代码")
    private String dw24;

    /**
     * 系统时间
     */
    @ExcelProperty(value = "系统时间")
    private Date systime;

    /**
     * 计息年度
     */
    @ExcelProperty(value = "计息年度")
    private String grjx01;

    /**
     *
     */
    @ExcelProperty(value = "")
    private String tz01;

    /**
     *
     */
    @ExcelProperty(value = "")
    private String dh;

    /**
     *
     */
    @ExcelProperty(value = "")
    private String dw91;

    /**
     *
     */
    @ExcelProperty(value = "")
    private Long aaz223;

    /**
     * 数据状态:1待提交2审核中3已审核4驳回
     */
    @ExcelProperty(value = "数据状态",converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "1=待提交,2=审核中,3=已审核,4=驳回")
    private Long status;

    /**
     * 删除状态:0未删除，1已删除
     */
    @ExcelProperty(value = "删除状态",converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "0=未删除,1=已删除")
    private Long delStatus;

    /**
     * 算法状态：0未计算1已计算
     */
    @ExcelProperty(value = "算法状态",converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "0=未计算,1=已计算")
    private Long dataFlag;

    /**
     * 退费状态：0未退费，1已退费
     */
    @ExcelProperty(value = "退费状态",converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "0=未退费,1=已退费")
    private Long refStatus;

    /**
     * 缴费开始时间
     */
    @ExcelProperty(value = "缴费开始时间")
    private Date jfStarttime;

    /**
     * 缴费截止时间
     */
    @ExcelProperty(value = "缴费截止时间")
    private Date jfEndtime;

    /**
     * 个人编号
     */
    @ExcelProperty(value = "个人编号")
    private String gr01;

    /**
     * 结算开始月份
     */
    @ExcelProperty(value = "结算开始月份")
    private String jsStartmonth;

    /**
     * 结算截至月份
     */
    @ExcelProperty(value = "结算截至月份")
    private String jsEndmonth;

    /**
     * 缴费月数
     */
    @ExcelProperty(value = "缴费月数")
    private Long jfPaymentmonths;

    /**
     * 个人缴费本息
     */
    @ExcelProperty(value = "个人缴费本息")
    private BigDecimal grjfbx;

    /**
     * 个人账户本息
     */
    @ExcelProperty(value = "个人账户本息")
    private BigDecimal grzhbx;

    /**
     * 缴费时身份编制
     */
    @ExcelProperty(value = "缴费时身份编制")
    private String jfssfbz;

    /**
     * 文件地址
     */
    //@ExcelProperty(value = "文件地址")
    private String fileurl;

    /**
     * 个人编号
     */
    private String grbh;

    /**
     * 单位编码
     */
    private String dwbm;

    /**
     * 单位名称
     */
    private String dwmc;

    /**
     * 个人帐号
     */
    private String grzh;

    /**
     * 身份证号码
     */
    private String sfz;




}
